package com.jms.web.mvc.interceptor;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * 拦截器链接口
 * <p>
 * 定义了拦截器链的执行方法，用于在请求处理过程中执行一系列拦截器逻辑
 * </p>
 */
public interface InterceptorChain {
    /**
     * 执行拦截器链
     * <p>
     * 该方法负责按顺序执行拦截器链中的各个拦截器，通常在请求处理前、处理后或完成后执行相关逻辑
     * </p>
     *
     * @param request  HTTP请求对象，包含客户端请求信息
     * @param response HTTP响应对象，用于向客户端返回响应
     * @param handler  请求处理器对象，表示将要执行的控制器方法或处理逻辑
     */
    void doInterceptor(HttpServletRequest request, HttpServletResponse response, Object handler);
}

